.TH std::basic_spanbuf::setbuf 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::basic_spanbuf::setbuf \- std::basic_spanbuf::setbuf

.SH Synopsis
   protected:
   std::basic_streambuf<CharT, Traits>* setbuf( CharT *s,                 (since C++23)
   std::streamsize n ) override;

   Makes the basic_spanbuf perform I/O on the buffer [s, s + n). Equivalently calls
   this->span(std::span<CharT>(s, n)) and then returns this.

             Set bits in open mode           Return value after setting
       (affecting pointers to get area)      eback()   gptr()  egptr()
   std::ios_base::in                         s         s       s + n
             Set bits in open mode           Return value after setting
       (affecting pointers to put area)      pbase()   pptr()  epptr()
   std::ios_base::out && !std::ios_base::ate s         s       s + n
   std::ios_base::out && std::ios_base::ate  s         s + n   s + n

   This function is protected virtual, it may only be called through pubsetbuf() or
   from member functions of a user-defined class derived from std::basic_spanbuf.

.SH Parameters

   s - pointer to the first CharT in the user-provided buffer
   n - the number of CharT elements in the user-provided buffer

.SH Return value

   this

.SH Notes

   The deprecated stream buffer std::strstreambuf or the boost.IOStreams device
   boost::basic_array can also implement I/O buffering over a user-provided char array.

.SH Example

    This section is incomplete
    Reason: no example

.SH See also

   pubsetbuf invokes setbuf()
             \fI(public member function of std::basic_streambuf<CharT,Traits>)\fP
   setbuf    attempts to replace the controlled character sequence with an array
   \fB[virtual]\fP \fI\fI(virtual protected member function\fP of\fP
             std::basic_stringbuf<CharT,Traits,Allocator>)
   setbuf    attempts to replace the controlled character sequence with an array
   \fB[virtual]\fP \fI(virtual protected member function of std::strstreambuf)\fP

.SH Category:
     * Todo no example
